1
Taxonomia da Concorrência: Processos, Multiplexação de Entrada/Saída e Threads
AI031Lesson 12
00:00

No domínio dos sistemas computacionais, concorrência em nível de aplicação é o sobreposição deliberada de fluxos lógicos de controle para melhorar o desempenho e a responsividade. É uma abstração funcional: um programa é dividido em tarefas independentes que podem ser intercaladas ou executadas em paralelo.

1. A Taxonomia da Concorrência

Os desenvolvedores geralmente escolhem entre três mecanismos fundamentais para gerenciar esses fluxos concorrentes:

  • Processos: Alta isolamento com espaços de endereçamento separados; exige IPC mediado pelo kernel.
  • Multiplexação de Entrada/Saída: Um único fluxo trocando manualmente entre eventos "prontos" (máquinas de estado).
  • Threads: Fluxos leves compartilhando um único espaço de endereçamento virtual para troca fácil de dados.
Programas ConcorrentesSequencialParaleloPrincipais Justificativas:Esconder Latência de Entrada/SaídaResponsividade da InterfaceEscalabilidade em Múltiplos NúcleosServidores Multi-cliente

2. Execução Lógica versus Física

Embora todos programas paralelos são concorrentes, nem todos os programas concorrentes são paralelos. O paralelismo é a execução física de fluxos em núcleos de hardware separados. A concorrência é o design lógico que permite que essa execução ocorra.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>